"""
将不同文件夹下的动物视频放到一起并且进行重命名
"""
import os
import shutil

# 源文件夹路径 (包含子文件夹的文件夹)
source_folder = r'D:\file\postgrad\experiment\video_behavior'

# 目标文件夹路径 (保存合并后的文件)
target_folder = r'D:\file\postgrad\experiment\ava_dataset\videos'

# 确保目标文件夹存在，不存在则创建
if not os.path.exists(target_folder):
  os.makedirs(target_folder)

# 用于存储所有的 mp4 文件路径
mp4_files = []

# 遍历源文件夹，递归查找所有子文件夹中的 .mp4 文件
for root, dirs, files in os.walk(source_folder):
  for file in files:
    if file.endswith('.mp4'):
      # 获取每个 mp4 文件的完整路径
      mp4_files.append(os.path.join(root, file))

# 按照自然顺序对文件名进行排序
mp4_files.sort()

# 将 mp4 文件复制到目标文件夹并按照 1.mp4、2.mp4 命名
for idx, file_path in enumerate(mp4_files, start=1):
  # 新文件的名字
  new_file_name = f"{idx}.mp4"

  # 新文件的完整路径
  new_file_path = os.path.join(target_folder, new_file_name)

  # 复制文件到目标文件夹并重命名
  shutil.copy2(file_path, new_file_path)

  print(f"Copied and renamed: {file_path} -> {new_file_path}")

print("所有视频文件已合并并重命名完成！")
